﻿//*** Guidance generated code ***//
using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Linq;

using ProjectBase.Core;
using ProjectBase.Core.Tools.Import;

namespace Survey.Common.Business
{
    /// <summary>
    ///     Base interface to be extended for the project purposes
    ///     Every method which is common for all entity data storage
    ///     should go here
    /// </summary>
    /// <typeparam name = "TEntity">the templated entity with ID of the 'IdT' type,
    ///     to be available for upper layers and stored via data layer</typeparam>
    /// <typeparam name = "TID">type of the ID</typeparam>
    /// <typeparam name = "TFilter"></typeparam>
    public interface IBaseFacade<TEntity, in TID, TFilter> : IEntityFacade<TEntity, TID, TFilter>
        where TEntity : class, IPersistentObjectWithTypedId<TID>
        where TFilter : class, IFilter<TID>
    {
        IImportProvider ImportProvider { set; }
    }
}